iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Software Development

Python派神,大顯神威!!系列 第 22

【Day22】:實作Python實現無人辦公室 (二) +使用openpyxl套件計算總工時

  • 分享至 

  • xImage
  •  

看完昨天的文章,
可能有人心裡正想著狠心的Adam昨天Fire掉一個楚楚可憐的小秘書,
就因為收整工時表的工作已改為Python全自動代勞,
喔! 你錯怪我了,
若我是老闆,我會提供經費讓我的小秘書從昨天開始就去學程式語言Python,
畢竟,人應該運用在更有價值的事物上,
我怎麼會忍心Fire掉可愛的小秘書呢。

昨天主要在說明Excel合併資料內容的openpyxl套件技巧,
但,一定有人對於openpyxl很陌生,
以下就稍作說明吧!

Python小小充電站:
OpenPyXL是一個Python的開放原始碼的第三方套件,用來存取 Excel 試算表,
支援 xlsx、 xlsm、 xltx與 xltm 檔,
可讀寫 Office Open XML 格式的 Excel 檔案,
大量檔案存取處理時,
只要能找出例行流程就可以使用OpenPyXL來處理,大大節省人力處理的時間與降低失誤率。

今天我們要用Python的openpyxl套件來為無人辦公室做些什麼呢?

由於,收整工時的目的就是為了要算出當月份的人力開銷成本,
因此,就需要將工時加總算出,
以前小秘書說:「很簡單啊!只要在最後加入excel加總公式就算出來了。」
Python大神卻說:「一切自動,人都不用碰喔!」

這次一樣把昨天產生出來的合併後Excel檔案準備著,以利後續運用。

(一) 本次需求程式碼

import openpyxl
import os

dir_path = os.path.dirname(os.path.realpath(__file__))

filename = "九月份工時表.xlsx"

# 開啟檔案        
workbook = openpyxl.load_workbook(filename)

# 指定Sheet1頁籤
sheet = workbook["Sheet1"]

# 於C10的位置填入總工時文字
sheet["C10"]= "總工時: "

# 於D10的位置填入加總後的工時
sheet["D10"]= "=SUM(C2:AF6)"

# 儲存檔案
workbook.save(filename)

(二) 執行後的結果
https://ithelp.ithome.com.tw/upload/images/20221007/20141198yTnoSatPFg.png

溫馨提醒: 若程式執行時發現找不到套件,就需要安裝openpyxl套件,指令如下:
pip install openpyxl

有人這時候又會提出:「為何不是常常看到的每一欄加總,每一列加總,最後再全部加總可以驗證。」
我要說的是:「只要需求提出,當然沒問題。哪怕是平均、加上文字…等。只要Excel辦得到,Python就可以填入運作」
但是本次我們主要強調Python也能填入Excel公式的活用性,
至於每個人再熟悉以後想要更複雜的變化,絕對是沒問題的。

做到今天,是不是都沒有人可以碰到檔案,
檔案就自然完成該算出的加總,
這也是Python令人驚豔之處,
明天我們再來看無人辦公室要怎麼運用Python製作自動化管理工具。


上一篇
【Day21】:實作Python實現無人辦公室 (一) +使用openpyxl操作Excel
下一篇
【Day23】:實作Python實現無人辦公室 (三) + 使用ImageGrab套件畫面截圖
系列文
Python派神,大顯神威!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言